package org.moonlight.jvm.classfile.attribute.mark;

/**
 * Synthetic属性用来标记源文件中不存在、由编译器生成的类成员，引入Synthetic属性主要是为了支持嵌套类和嵌套接口。
 *
 * Deprecated 和 Synthetic 是最简单的两种属性，仅起标记作用，不包含任何数据。
 * 这两种标记可以出现在 ClassFile、field_info 和 method_info 中。它们的结构定义如下：
 *   Deprecated_attribute {
 *     u2 attribute_name_index;
 *     u4 attribute_length;        //由于这两个属性都没有信息，所以其 attribute_length 都为 0；
 *   }
 *
 *   Synthetic_attribute {
 *     u2 attribute_name_index;
 *     u4 attribute_length;
 *   }
 *
 * @author Moonlight
 * @createTime 2023/8/15 16:10
 **/
public class SyntheticAttribute extends MarkerAttribute {
}
